package redlib.backend.service.utils;

import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert;
import redlib.backend.dao.ContactMapper;
import redlib.backend.dto.ContactDTO;
import redlib.backend.model.Admin;
import redlib.backend.model.Contact;
import redlib.backend.utils.FormatUtils;
import redlib.backend.vo.ContactVO;

import java.util.Map;

public class ContactUtils {
    /**
     * 规范并校验contactDTO
     *
     * @param contactDTO
     */
    @Autowired
    private static ContactMapper contactMapper;
    public static void validateTest(ContactDTO contactDTO) {
        FormatUtils.trimFieldToNull(contactDTO);
        Assert.notNull(contactDTO, "输入数据不能为空");
        Assert.hasText(contactDTO.getName(), "名称不能为空");

//        Assert.isNull(testMapper.getByName(testDTO.getName()),"联系人名称已经存在！");
//        Assert.hasText(testDTO.getDepartment(), "单位不能为空");
        Assert.isTrue(contactDTO.getTelephoneNumber().length() == 11,"手机号位数不正确");
//        Assert.hasText(testDTO.getProvince(), "省份不能为空");
//        Assert.hasText(testDTO.getEmail(), "email不能为空");
//        Assert.hasText(testDTO.getAddress(), "地址不能为空");

    }

    /**
     * 将实体对象转换为VO对象
     *
     * @param contact 实体对象
     * @param nameMap
     * @return VO对象
     */
    public static ContactVO convertToVO(Contact contact, Map<Integer, String> nameMap) {
        ContactVO contactVO = new ContactVO();
        BeanUtils.copyProperties(contact, contactVO);

        contactVO.setCreatedByDesc(nameMap.get(contact.getCreatedBy()));
        return contactVO;
    }


}
